5668b1cfc579e5e05f2bb50d78bcdebd75da1ecb,src/main/java/org/elasticsearch/indices/recovery/RecoveryTarget.java,FinalizeRecoveryRequestHandler,messageReceived,#RecoveryFinalizeRecoveryRequest#TransportChannel#,410

Before Change


        @Override
        public void messageReceived(RecoveryFinalizeRecoveryRequest request, TransportChannel channel) throws Exception {
            RecoveryStatus onGoingRecovery = onGoingRecoveries.get(request.recoveryId());
            if (onGoingRecovery == null) {
                // shard is getting closed on us
                throw new IndexShardClosedException(request.shardId());
            }
            if (onGoingRecovery.isCanceled()) {
                onGoingRecovery.sentCanceledToSource = true;
                throw new IndexShardClosedException(request.shardId());
            }

            onGoingRecovery.stage(RecoveryState.Stage.FINALIZE);

After Change


        @Override
        public void messageReceived(RecoveryFinalizeRecoveryRequest request, TransportChannel channel) throws Exception {
            RecoveryStatus onGoingRecovery = onGoingRecoveries.get(request.recoveryId());
            validateRecoveryStatus(onGoingRecovery, request.shardId());

            onGoingRecovery.stage(RecoveryState.Stage.FINALIZE);
            onGoingRecovery.indexShard.performRecoveryFinalization(false, onGoingRecovery);